<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    //变量的查询基于作用域链
    //变量出现在等号左边  我们一般认为是左查询
        //如果整条作用域链都没有当前变量的声明 浏览器会在顶层作用域声明一份
    //变量出现在等号非左边 我们一般认为是右查询
        //如果整条作用域链都没有当前变量的声明 会直接报错 ReferenceError
    function fn() {
        a = 1;
        /*
            1. 去当前fn作用域对应的处于活动状态的执行上下文中找a
            2. 去当前fn上一层作用域对应的处于活动状态的执行上下文中找a
        */
        console.log(a);
    }

    // console.log(a)
    fn()
    console.log(a)
</script>
</html>